home *** CD-ROM | disk | FTP | other *** search
/ Mac Mania 5 / MacMania 5.toast / / Tools&Utilities / BibTeX ƒ / BibTeX.ReadMe < prev    next >
Text File  |  1996-11-19  |  17KB  |  366 lines

  1. # ###################################################################
  2. #  FILE: "BibTeX.ReadMe"
  3. #                                    created: 4/2/96 {6:50:21 pm} 
  4. #                                last update: 19/11/96 {2:23:43 pm} 
  5. #  Author: Vince Darley
  6. #  E-mail: <mailto:vince@das.harvard.edu>
  7. #    mail: Division of Applied Sciences, Harvard University
  8. #          Oxford Street, Cambridge MA 02138, USA
  9. #     www: <http://www.fas.harvard.edu/~darley/>
  10. #  
  11. #  Mac port copyright (C) 1996 Vince Darley.
  12. #
  13. #  Freely distributable, please report bugs (and fixes) to
  14. #  the author.
  15. #
  16. # ###################################################################
  17.  
  18. This is BibTeX (fat)
  19. ====================
  20.  
  21. Contents:
  22.  
  23.     (i)     Description of BibTeX's function and purpose.
  24.     (ii)     Feature list for this version of BibTeX for MacOS.
  25.     (iii)     Using BibTeX with the editor 'Alpha'
  26.     (iv)      Technical details, compilation, to-do's,...
  27.     (v)        Version history.
  28.  
  29. BibTeX is the bibliography handling tool related to the TeX/LaTeX 
  30. typesetting system (available on almost all conceivable OS platforms).  
  31. When a document is typeset with LaTeX, an auxiliary file (with extension 
  32. '.aux') is generated.  This auxiliary file contains, amongst other things, 
  33. a list of references (to books, articles, research reports, web-url's,...)  
  34. cited in the original document.  BibTeX takes this list, together with the 
  35. name of a style file (extension '.bst') and a list of bibliography 
  36. databases (extension '.bib') which are also given in the auxiliary file, 
  37. and produces a wonderfully formatted list of references which the LaTeX 
  38. system subsequently (and automatically) appends to your typeset document.
  39.  
  40. Hence BibTeX is really not at all useful without TeX/LaTeX (there are 
  41. several freeware/shareware/commercial versions for the MacOS: OzTeX, 
  42. CMacTeX, DirecTeX Pro, Textures).  In fact this port of BibTeX is now 
  43. distributed with OzTeX 2.0 or newer (although the actual version shipping 
  44. with OzTeX can lag behind the latest by a release or two).  It is useful 
  45. to have a good text editor which knows about the particular format of LaTeX 
  46. documents: on the Mac, the editor Alpha is indispensible in this regard, 
  47. both for editing and for its apple-event communication with the various 
  48. parts of a LaTeX system.
  49.  
  50. For those who think this sounds a bit too complicated, the benefits in 
  51. terms of quality of output (both textual and mathematical) and automatic 
  52. generation of all manner of numbering schemes (figures, equations, 
  53. sections), and document parts (table of contents, index, bibliography), 
  54. together with cross-platform availability, mean that many people consider 
  55. it the _best_ current system for producing quality documents.
  56.  
  57. Here are some links for further information:
  58.  
  59. •    Mathematical relevance: <http://e-math.ams.org/>
  60. •    General TeX documentation: <http://www.cl.cam.ac.uk/TeXdoc/TeXdocs.html>
  61. •    Archive of LaTeX documenation: <http://www.loria.fr/tex/english/index.html>
  62. •    More LaTeX links: <http://molscat.giss.nasa.gov/LaTeX/externals.html>
  63. •    The editor 'Alpha': <http://www.cs.umd.edu/~keleher/alpha.html>
  64. •    Various TeX-related links: <http://www.bluesky.com/TeXlinks>
  65. •    CMacTeX: <http://www.math.tamu.edu/~tkiffe/cmactex.html>
  66. •    OzTeX: <http://www.kagi.com/authors/akt/oztex.html>
  67. •    Textures: <http://www.bluesky.com/>
  68. •    Archive of all TeX related material: <http://jasper.ora.com/ctan.html>
  69.  
  70. Many thanks to Alun Carr, Andy Amann, Richard Chang, Jacques Distler, and 
  71. others for helping to track down the bugs my port of BibTeX has had, and 
  72. for suggestions on how to improve it.
  73.  
  74. ========================================================================
  75.  
  76. BibTeX version 1.1.4
  77.  
  78. It has no known bugs, however, use at your own risk; there is no 
  79. warranty....  
  80.  
  81. Feature list: 
  82.  
  83. •    Basic features
  84.    -  Processes .aux files
  85.    -  Examine new or old log files and cmd-click to jump to errors, 
  86.       warnings, etc. in your editor.
  87.    -  Very fast (now more than 10 times faster!).
  88.    -  Friendly to other applications (actually calls WaitNextEvent);
  89.    -  Fat binary; runs on PPC or 68k machines;
  90.    -  Copes with both Unix and Mac standard eol characters.
  91.    -  Internet Config aware
  92.  
  93. •    TeX details:
  94.    -  Switchable between 'big' and 'small' modes.  The 'big' mode increases
  95.       the size of biobiography resources such as the number of strings allowed.
  96.       This should let you use 'Camel' the up-and-coming bibliography stuff for
  97.       LaTeX2e;
  98.    -  Search path (for .bib, .bst files) is as follows: (1) The two paths 
  99.       you set in the options dialog (2) the "BibTeX inputs" folder, 
  100.       (3) the location of the '.aux' file being processed.  This search 
  101.       path is used for both .bst and .bib files, although you can of course 
  102.       keep them in separate directories if you like;
  103.    -  Source code available;
  104.  
  105. •   Interface details:
  106.    -  Supports high-level apple events etc. so you can drag a '.aux' file (or 
  107.       several) onto it for processing, or send it an odoc event from Alpha...
  108.    -  You can command-click on warnings, errors and filenames in
  109.       the log window to leap to the correct file, line, error position
  110.       etc. in your favorite editor.  Read the section 'Apple-events and
  111.       BibTeX' for more details.  To use this feature with the editor
  112.       'Alpha', copy the contents of the file 'AlphaBibScripts.tcl' to 
  113.       your 'prefs.tcl' in Alpha.
  114.    -  Links from the about box to the BibTeX web page, so you can check
  115.       for upgrades.
  116.    -  If available, it uses Internet Config for file types of the .blg, .bbl 
  117.       files it creates.  If you make BibTeX ('Vbib') the creator of
  118.       .blg files, you can double click them to open them in the log window.
  119.    -  Balloon help is available for all dialog box items.
  120.    
  121.    
  122. This version of BibTeX is totally free.  If you like it, feel free to
  123. send email, postcards, cash, registrations to shareware you've written,...
  124. but there is no obligation.
  125.  
  126. Note that the application's partition is generous at 400k by default.  I 
  127. think it should work with 375k on 680x0 machines, and 300k on PPC machines, 
  128. so you could lower the application's partition size.
  129.  
  130. ========================================================================
  131.  
  132. Apple-Events and BibTeX
  133.  
  134. BibTeX can be triggered to process '.aux' files by being sent a standard 
  135. 'odoc' event.  Versions of Alpha newer than 6.2 will do this without any 
  136. configuration on your part.  If you're using an old version of Alpha (pre 
  137. 6.2), download a new version (see the hyperlinks above); (Also have a look 
  138. at my package "Vince's Additions" which contains some useful bibliography 
  139. conversion tools).  If you don't have Alpha, download it immediately; it's
  140. easily the best editor for TeX, LaTeX, C, C++ etc. (IMHO).
  141.  
  142. As of version 1.1.4, command-clicking in the log window will now send GURL 
  143. 'bibresult' events.  To make use of these, open Internet Config, select 
  144. 'helpers' and 'add' a helper for 'bibresult', and select as helper your 
  145. editor.  Of course your editor needs to be able to receive and interpret 
  146. GURL bibresults.  I've enclosed some procedures for Alpha which do this, 
  147. but if you use BBEdit/TeXtures or something else, you're currently on your 
  148. own.
  149.  
  150. The format of the 'bibresult' GURL event is as follows:
  151.  
  152.     bibresult:FULLFILENAME:MESSAGE
  153.  
  154. where FULLFILENAME is a full path description to the base '.aux' file or
  155. 'Unknown', and MESSAGE is any of the following:
  156.  
  157.     The top-level auxiliary file: FILENAME.aux
  158.     A level-X auxiliary file: FILENAME.aux
  159.     Warning--I didn't find a database entry for "ENTRY"
  160.     Database file #X: FILENAME.bib
  161.     Warning--WARNING ENTRY
  162.     The style file: FILENAME.bst
  163.     ERROR---line LINENUM of file FILENAME a 'UP-TO-ERROR' at POSITION
  164.  
  165. where X is an integer; FILENAME is a just the name, with no path given;
  166. ENTRY is a citation key such as 'Darley1996'; WARNING is a standard
  167. BibTeX warning (such as 'empty title in'); ERROR is a standard BibTeX
  168. error (such as 'Repeated entry'); LINENUM is the line number of an
  169. error; POSITION is the character position in that line at which the
  170. error was detected; UP-TO-ERROR is the string of characters from the 
  171. beginning of the line to the start of the error, with braces {} replaced 
  172. by ‘’ because of some IC/AE problem.
  173.  
  174. The Tcl procedures I've written for Alpha interpret these messages and take 
  175. the appropriate action: opening a file; finding and highlighting an error; 
  176. adding a '.bib' file to the \bibliography environment; making a new entry 
  177. in an existing '.bib' file,… To use these scripts, copy the contents of the 
  178. file 'BibTeXAlphaScripts.tcl' to your 'prefs.tcl' in Alpha (or read the 
  179. file for other installation options).
  180.  
  181. Problems/Bugs:
  182.  
  183. Since BibTeX sends actual line numbers and positions, if you're correcting 
  184. a lot of errors/warnings, those line number can become out of date.  The 
  185. receiving scripts are designed to alleviate this problem (they search 
  186. locally for something matching the error), but with heavy editing, these 
  187. problems are not completely avoidable.
  188.  
  189. ========================================================================
  190.  
  191. Technical Stuff:
  192.  
  193. To Do:
  194.  
  195. •    Write to .blg and .bbl files asynchronously.
  196. •    Some minor code tidying.
  197. •    Incorporate updated powerplant classes when available.
  198. •    A few _minor_ speed improvements are still possible.
  199. •    Perhaps switch to using WASTE, instead of TextEdit.
  200.  
  201. Any offers for help or suggestions for improvements much appreciated --- in 
  202. particular if someone wants to get to work on the to-do's, that'd be great.
  203. If you have example code which does something similar to any of the to-do's
  204. (e.g. asynchronous file i/o), and you're happy to let me use it as a 
  205. template, then please send me it!
  206.  
  207. ------
  208.  
  209. Sources:
  210.  
  211. I'm no longer distributing the sources, since it seems a bit needless, but
  212. if you actually want them, just ask.  
  213.  
  214. Based on the C code of the original MacBibTeX (0.99c) which I grabbed from 
  215. CTAN, and code generously donated by Rick Zaccone from his 'Makeindex'.  
  216. Icon adapted from one I grabbed off a folder from some collection on the 
  217. net.  'IC++' written by Dan Crevier is used for the about box links.  I 
  218. also use LBalloonTracker by Paul Lalonde which is © 1996 Corporate Software 
  219. & Technologies Int.  Inc.  (CS&T), and very convenient.  Many thanks!
  220.  
  221. ------
  222.  
  223. Compilation (with CodeWarrior 10):
  224.  
  225. Obtain the library 'MoreFiles' (preferably version 1.4.3 or newer), which
  226. should be available from the info-mac archives.
  227.  
  228. •    Open the source code folder
  229. •    Compile BibTeX68k.µ
  230. •    Compile BibTeXPPC.µ
  231.  
  232. Move the resulting application "BibTeX" up one level so it can find 'BibTeX 
  233. inputs'.  You may need to adjust the memory allocation (with Get Info), but 
  234. beyond that you're set.
  235.  
  236. -----
  237.  
  238. Personalisation:
  239.  
  240. You can now set BibTeX search paths using the options dialog, but if for 
  241. some peculiar reason you want to set more than two different paths, in 
  242. addition to the defaults, then you can do so using ResEdit:
  243.  
  244. You can edit a string resource with ResEdit to specify your own search 
  245. path.  To do this open the app with ResEdit and look at the STR# resource 
  246. called "Path".  You can add entries which look like this:
  247. '2:Hard Disk:My Search Path:'; the '2' signifies to BibTeX that this is
  248. a complete path specification.  If you prefer, '0:' indicates 
  249. a path relative to the .aux file, and '1:' relative to the BibTeX 
  250. application.
  251.  
  252. ------
  253.  
  254. Version History:
  255.  
  256. 1.1.4    Fixed crashing bug when cmd-clicking at the end of the log window.
  257.         Fixed a couple small GUI buglets.  Added processing time message
  258.         to end of log window.  Command clicking in opened .blg files sends
  259.         correct file information now.  Minor changes to about box, and to
  260.         Tcl scripts for Alpha communication.
  261.  
  262.         Fixed so prefs file has an icon; startup will be slow the first
  263.         time, because BibTeX will have to rewrite your preferences.  
  264.         Added an icon resource for TEXT files which can be used for .blg 
  265.         log files.  Set this up in Internet Config, and you can double 
  266.         click .blg files to launch.  Now you can look at old .blg files and 
  267.         decide if you wish to regenerate them (cmd-G = Go will reprocess 
  268.         the corresponding .aux file), or cmd-click to edit problems using 
  269.         your editor.  Fixed quite old (I think) bug in which you could have 
  270.         two log windows after hitting 'Cancel' in the options dialog.
  271.         Feature change: BibTeX now rejects any text file that's not '.aux' 
  272.         or '.blg'; before it would be passed to the core code and of course
  273.         cause errors.  Added more Balloon help.  Feature change: type/creator
  274.         of .blg and .bbl files created are taken from Internet Config if 
  275.         possible, if not then from the .aux file as before.
  276.  
  277.         Copes with filenames containing spaces.  Remember if you use
  278.         spaces, your files will not work on other platforms.  Fixed a 
  279.         minor buffer-overflow problem in which not all warnings would
  280.         be given in the log window.  Added command-clicking features
  281.         to the log window (very useful and cool new feature!).  Fixed
  282.         one source of preferences problems (startup with no preferences
  283.         file, quit and restart => default preferences are garbage).
  284.         
  285. 1.1.3    Really fixed end-of-file problem.  Other minor changes.
  286.  
  287. 1.1.2   Fixed setting end-of-files correctly.  I somehow reintroduced this
  288.         bug when I rewrote all the file i/o stuff.  Balloon help in dialogs.
  289.         
  290. 1.1.1    Added options 'Stay open on warning', 'Stay open on error' which
  291.         counter-act the 'Quit when finished' option, and leave BibTeX
  292.         open if anything went wrong.
  293.         Fixed the 'text-jumping' visual bug in the log window (thanks
  294.         to a helpful soul on comp.sys.mac.programmer.codewarrior).
  295.         Updated to MoreFiles 1.4.3.
  296.         Preferences file now has its version number updated if necessary
  297.         when you start BibTeX, and I always create a preferences file now,
  298.         and any old preferences are updated with any new options.
  299.         This fixes an old 'bug' in which BibTeX would take a long time
  300.         starting up, because it's looking for a preferences file, or
  301.         trying to read information from it which doesn't exist.
  302.         Fixed a subtle 68k only bug which has been around for a long time,
  303.         but only now reared its head --- caused horrible crashes on 68k
  304.         machines, somewhat randomly since useful memory was being 
  305.         over-written.  However it's fixed now.
  306.         Fixed a small bug introduced in 1.10, which would show up only
  307.         after multiple runs, especially after a fatal error, and could 
  308.         result in a crash.
  309.         Added message to the log window after a fatal error.
  310.         
  311. 1.1.0    Did some serious profiling and optimisation.  Opening files is
  312.         really rather slow on MacOS, probably due to the emulated nature
  313.         of the file-system.
  314.         Now about 10+ times faster than 1.06.  Rough timing is as follows:
  315.         v1.06 75secs, v1.07 62secs, v1.10 7secs
  316.         (All using Speed Doubler on a 5300cs on a large BibTeX run) 
  317.         Huge rewrite of all the IO code: uses PowerPlant buffered IO classes,
  318.         which makes everything rather simpler, and on the whole a lot faster.
  319.         The code is much, much cleaner now, as I've cleared out a lot of the
  320.         old vestiges of MakeIndex and the ancient web2c source code has been
  321.         modernised.  Therefore the BibTeX <-> Interface links are simple now.
  322.         Added option to monopolise the CPU.
  323.         Significant interface improvements:
  324.         You can now set two folders to search in the options dialog box,
  325.         (but the old technique of using Resedit still works).  Note that
  326.         by default BibTeX now searches in:
  327.         • The same folder as the '.aux' file being processed.
  328.         • The folder 'BibTeX inputs' located wherever the BibTeX application
  329.         resides on your hard drive.
  330.         • Any folders you add manually using ResEdit (not normally necessary)
  331.         • The two folders you specify in your preferences.
  332.         Added links from the 'about box' to the BibTeX web-page, and to
  333.         mail me, etc.
  334.         Recompiled using Codewarrior 10
  335. 1.07    (Never released publicly)
  336.         Significant internal changes:
  337.         (i) Speed increases. 
  338.         (ii) Increased sizes of things for 'Big' mode.  This version of BibTeX
  339.         should support Camel (the up-and-coming LaTeX 2e bibliography system).
  340.         (iii) Added a couple of options which were requested: 
  341.         'beep when finished' and 'no log window'.
  342. 1.06    Now copes with extended character set 'üöé...'.  Not all TeX
  343.         implementations allow them, but if you pass one to BibTeX, it
  344.         will happily output it, assuming your version of TeX can cope.
  345.         Changed name of log window.
  346. 1.05    Recompiled with CW9, updated to take account of Powerplant
  347.         changes.  Cosmetic change when selecting 'go' to re-run
  348.         a file - the window is now cleared first.
  349. 1.04    Minor (non-fatal) bug fixes --- all files properly closed and 
  350.         flushed after a bibtex error, file eof's set correctly for .bbl 
  351.         and .blg files.
  352.         Thanks for the bug reports!
  353. 1.03    Minor changes --- it now gives a message 'BibTeX run complete.'
  354.         in the log window, rather than just finishing.  Documentation
  355.         update.  I've fixed the FREF/BNDL problems, so drag'n'drop
  356.         really should work now ;-)
  357. 1.02    Switchable between Big and Small.  Uses new memory allocation
  358.         scheme from Rick, so temporary memory is used rather than the
  359.         system heap.  This means the application's given partition can
  360.         be much smaller (300k works for me). Added fref 'TEXT' resource
  361.         which was missing previously (so drag and drop will work under
  362.         all circumstances now).
  363. 1.01    Copes with Unix as well as Mac EOL characters
  364. 1.0        Original; soon to be distributed with OzTeX 2.0
  365.